home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1999 July: Mac OS SDK / Dev.CD Jul 99 SDK1.toast / Development Kits / Mac OS / QuickTime / QuickTime 3 Interfaces & Libs / QTDevWin / CIncludes / Icons.h < prev    next >
Encoding:
C/C++ Source or Header  |  1998-08-21  |  18.3 KB  |  540 lines  |  [TEXT/dosa]

  1. /*
  2.      File:        Icons.h
  3.  
  4.      Contains:    Icon Utilities Interfaces.
  5.  
  6.      Version:    Technology:    Mac OS 8
  7.                  Release:    QuickTime 3.0
  8.  
  9.      Copyright:    © 1990-1998 by Apple Computer, Inc. All rights reserved
  10.  
  11.      Bugs?:        Please include the the file and version information (from above) with
  12.                  the problem description.  Developers belonging to one of the Apple
  13.                  developer programs can submit bug reports to:
  14.  
  15.                      devsupport@apple.com
  16.  
  17. */
  18. #ifndef __ICONS__
  19. #define __ICONS__
  20.  
  21. #ifndef __MACTYPES__
  22. #include <MacTypes.h>
  23. #endif
  24. #ifndef __QUICKDRAW__
  25. #include <Quickdraw.h>
  26. #endif
  27. #ifndef __FILES__
  28. #include <Files.h>
  29. #endif
  30. #ifndef __CODEFRAGMENTS__
  31. #include <CodeFragments.h>
  32. #endif
  33.  
  34.  
  35.  
  36. #if PRAGMA_ONCE
  37. #pragma once
  38. #endif
  39.  
  40. #ifdef __cplusplus
  41. extern "C" {
  42. #endif
  43.  
  44. #if PRAGMA_IMPORT
  45. #pragma import on
  46. #endif
  47.  
  48. #if PRAGMA_STRUCT_ALIGN
  49.     #pragma options align=mac68k
  50. #elif PRAGMA_STRUCT_PACKPUSH
  51.     #pragma pack(push, 2)
  52. #elif PRAGMA_STRUCT_PACK
  53.     #pragma pack(2)
  54. #endif
  55.  
  56.  
  57. enum {
  58.                                                                 /* The following are icons for which there are both icon suites and SICNs. */
  59.     kGenericDocumentIconResource = -4000,
  60.     kGenericStationeryIconResource = -3985,
  61.     kGenericEditionFileIconResource = -3989,
  62.     kGenericApplicationIconResource = -3996,
  63.     kGenericDeskAccessoryIconResource = -3991,
  64.     kGenericFolderIconResource    = -3999,
  65.     kPrivateFolderIconResource    = -3994,
  66.     kFloppyIconResource            = -3998,
  67.     kTrashIconResource            = -3993,
  68.     kGenericRAMDiskIconResource    = -3988,
  69.     kGenericCDROMIconResource    = -3987,                        /* The following are icons for which there are SICNs only. */
  70.     kDesktopIconResource        = -3992,
  71.     kOpenFolderIconResource        = -3997,
  72.     kGenericHardDiskIconResource = -3995,
  73.     kGenericFileServerIconResource = -3972,
  74.     kGenericSuitcaseIconResource = -3970,
  75.     kGenericMoverObjectIconResource = -3969,                    /* The following are icons for which there are icon suites only. */
  76.     kGenericPreferencesIconResource = -3971,
  77.     kGenericQueryDocumentIconResource = -16506,
  78.     kGenericExtensionIconResource = -16415,
  79.     kSystemFolderIconResource    = -3983,
  80.     kAppleMenuFolderIconResource = -3982
  81. };
  82.  
  83.  
  84. enum {
  85.                                                                 /* Obsolete. Use named constants defined above. */
  86.     genericDocumentIconResource    = kGenericDocumentIconResource,
  87.     genericStationeryIconResource = kGenericStationeryIconResource,
  88.     genericEditionFileIconResource = kGenericEditionFileIconResource,
  89.     genericApplicationIconResource = kGenericApplicationIconResource,
  90.     genericDeskAccessoryIconResource = kGenericDeskAccessoryIconResource,
  91.     genericFolderIconResource    = kGenericFolderIconResource,
  92.     privateFolderIconResource    = kPrivateFolderIconResource,
  93.     floppyIconResource            = kFloppyIconResource,
  94.     trashIconResource            = kTrashIconResource,
  95.     genericRAMDiskIconResource    = kGenericRAMDiskIconResource,
  96.     genericCDROMIconResource    = kGenericCDROMIconResource,
  97.     desktopIconResource            = kDesktopIconResource,
  98.     openFolderIconResource        = kOpenFolderIconResource,
  99.     genericHardDiskIconResource    = kGenericHardDiskIconResource,
  100.     genericFileServerIconResource = kGenericFileServerIconResource,
  101.     genericSuitcaseIconResource    = kGenericSuitcaseIconResource,
  102.     genericMoverObjectIconResource = kGenericMoverObjectIconResource,
  103.     genericPreferencesIconResource = kGenericPreferencesIconResource,
  104.     genericQueryDocumentIconResource = kGenericQueryDocumentIconResource,
  105.     genericExtensionIconResource = kGenericExtensionIconResource,
  106.     systemFolderIconResource    = kSystemFolderIconResource,
  107.     appleMenuFolderIconResource    = kAppleMenuFolderIconResource
  108. };
  109.  
  110.  
  111. enum {
  112.     kStartupFolderIconResource    = -3981,
  113.     kOwnedFolderIconResource    = -3980,
  114.     kDropFolderIconResource        = -3979,
  115.     kSharedFolderIconResource    = -3978,
  116.     kMountedFolderIconResource    = -3977,
  117.     kControlPanelFolderIconResource = -3976,
  118.     kPrintMonitorFolderIconResource = -3975,
  119.     kPreferencesFolderIconResource = -3974,
  120.     kExtensionsFolderIconResource = -3973,
  121.     kFontsFolderIconResource    = -3968,
  122.     kFullTrashIconResource        = -3984
  123. };
  124.  
  125.  
  126. enum {
  127.                                                                 /* Obsolete. Use named constants defined above. */
  128.     startupFolderIconResource    = kStartupFolderIconResource,
  129.     ownedFolderIconResource        = kOwnedFolderIconResource,
  130.     dropFolderIconResource        = kDropFolderIconResource,
  131.     sharedFolderIconResource    = kSharedFolderIconResource,
  132.     mountedFolderIconResource    = kMountedFolderIconResource,
  133.     controlPanelFolderIconResource = kControlPanelFolderIconResource,
  134.     printMonitorFolderIconResource = kPrintMonitorFolderIconResource,
  135.     preferencesFolderIconResource = kPreferencesFolderIconResource,
  136.     extensionsFolderIconResource = kExtensionsFolderIconResource,
  137.     fontsFolderIconResource        = kFontsFolderIconResource,
  138.     fullTrashIconResource        = kFullTrashIconResource
  139. };
  140.  
  141.  
  142. enum {
  143.     kLarge1BitMask                = FOUR_CHAR_CODE('ICN#'),
  144.     kLarge4BitData                = FOUR_CHAR_CODE('icl4'),
  145.     kLarge8BitData                = FOUR_CHAR_CODE('icl8'),
  146.     kSmall1BitMask                = FOUR_CHAR_CODE('ics#'),
  147.     kSmall4BitData                = FOUR_CHAR_CODE('ics4'),
  148.     kSmall8BitData                = FOUR_CHAR_CODE('ics8'),
  149.     kMini1BitMask                = FOUR_CHAR_CODE('icm#'),
  150.     kMini4BitData                = FOUR_CHAR_CODE('icm4'),
  151.     kMini8BitData                = FOUR_CHAR_CODE('icm8')
  152. };
  153.  
  154.  
  155. enum {
  156.                                                                 /* Obsolete. Use names defined above. */
  157.     large1BitMask                = kLarge1BitMask,
  158.     large4BitData                = kLarge4BitData,
  159.     large8BitData                = kLarge8BitData,
  160.     small1BitMask                = kSmall1BitMask,
  161.     small4BitData                = kSmall4BitData,
  162.     small8BitData                = kSmall8BitData,
  163.     mini1BitMask                = kMini1BitMask,
  164.     mini4BitData                = kMini4BitData,
  165.     mini8BitData                = kMini8BitData
  166. };
  167.  
  168. /*  alignment type values */
  169.  
  170. enum {
  171.     kAlignNone                    = 0x00,
  172.     kAlignVerticalCenter        = 0x01,
  173.     kAlignTop                    = 0x02,
  174.     kAlignBottom                = 0x03,
  175.     kAlignHorizontalCenter        = 0x04,
  176.     kAlignAbsoluteCenter        = kAlignVerticalCenter | kAlignHorizontalCenter,
  177.     kAlignCenterTop                = kAlignTop | kAlignHorizontalCenter,
  178.     kAlignCenterBottom            = kAlignBottom | kAlignHorizontalCenter,
  179.     kAlignLeft                    = 0x08,
  180.     kAlignCenterLeft            = kAlignVerticalCenter | kAlignLeft,
  181.     kAlignTopLeft                = kAlignTop | kAlignLeft,
  182.     kAlignBottomLeft            = kAlignBottom | kAlignLeft,
  183.     kAlignRight                    = 0x0C,
  184.     kAlignCenterRight            = kAlignVerticalCenter | kAlignRight,
  185.     kAlignTopRight                = kAlignTop | kAlignRight,
  186.     kAlignBottomRight            = kAlignBottom | kAlignRight
  187. };
  188.  
  189.  
  190. enum {
  191.                                                                 /* Obsolete. Use names defined above. */
  192.     atNone                        = kAlignNone,
  193.     atVerticalCenter            = kAlignVerticalCenter,
  194.     atTop                        = kAlignTop,
  195.     atBottom                    = kAlignBottom,
  196.     atHorizontalCenter            = kAlignHorizontalCenter,
  197.     atAbsoluteCenter            = kAlignAbsoluteCenter,
  198.     atCenterTop                    = kAlignCenterTop,
  199.     atCenterBottom                = kAlignCenterBottom,
  200.     atLeft                        = kAlignLeft,
  201.     atCenterLeft                = kAlignCenterLeft,
  202.     atTopLeft                    = kAlignTopLeft,
  203.     atBottomLeft                = kAlignBottomLeft,
  204.     atRight                        = kAlignRight,
  205.     atCenterRight                = kAlignCenterRight,
  206.     atTopRight                    = kAlignTopRight,
  207.     atBottomRight                = kAlignBottomRight
  208. };
  209.  
  210. typedef SInt16                             IconAlignmentType;
  211. /*  transform type values  */
  212.  
  213. enum {
  214.     kTransformNone                = 0x00,
  215.     kTransformDisabled            = 0x01,
  216.     kTransformOffline            = 0x02,
  217.     kTransformOpen                = 0x03,
  218.     kTransformLabel1            = 0x0100,
  219.     kTransformLabel2            = 0x0200,
  220.     kTransformLabel3            = 0x0300,
  221.     kTransformLabel4            = 0x0400,
  222.     kTransformLabel5            = 0x0500,
  223.     kTransformLabel6            = 0x0600,
  224.     kTransformLabel7            = 0x0700,
  225.     kTransformSelected            = 0x4000,
  226.     kTransformSelectedDisabled    = kTransformSelected | kTransformDisabled,
  227.     kTransformSelectedOffline    = kTransformSelected | kTransformOffline,
  228.     kTransformSelectedOpen        = kTransformSelected | kTransformOpen
  229. };
  230.  
  231.  
  232. enum {
  233.                                                                 /* Obsolete. Use names defined above. */
  234.     ttNone                        = kTransformNone,
  235.     ttDisabled                    = kTransformDisabled,
  236.     ttOffline                    = kTransformOffline,
  237.     ttOpen                        = kTransformOpen,
  238.     ttLabel1                    = kTransformLabel1,
  239.     ttLabel2                    = kTransformLabel2,
  240.     ttLabel3                    = kTransformLabel3,
  241.     ttLabel4                    = kTransformLabel4,
  242.     ttLabel5                    = kTransformLabel5,
  243.     ttLabel6                    = kTransformLabel6,
  244.     ttLabel7                    = kTransformLabel7,
  245.     ttSelected                    = kTransformSelected,
  246.     ttSelectedDisabled            = kTransformSelectedDisabled,
  247.     ttSelectedOffline            = kTransformSelectedOffline,
  248.     ttSelectedOpen                = kTransformSelectedOpen
  249. };
  250.  
  251. typedef SInt16                             IconTransformType;
  252. /*  Selector mask values  */
  253.  
  254. enum {
  255.     kSelectorLarge1Bit            = 0x00000001,
  256.     kSelectorLarge4Bit            = 0x00000002,
  257.     kSelectorLarge8Bit            = 0x00000004,
  258.     kSelectorSmall1Bit            = 0x00000100,
  259.     kSelectorSmall4Bit            = 0x00000200,
  260.     kSelectorSmall8Bit            = 0x00000400,
  261.     kSelectorMini1Bit            = 0x00010000,
  262.     kSelectorMini4Bit            = 0x00020000,
  263.     kSelectorMini8Bit            = 0x00040000,
  264.     kSelectorAllLargeData        = 0x000000FF,
  265.     kSelectorAllSmallData        = 0x0000FF00,
  266.     kSelectorAllMiniData        = 0x00FF0000,
  267.     kSelectorAll1BitData        = kSelectorLarge1Bit | kSelectorSmall1Bit | kSelectorMini1Bit,
  268.     kSelectorAll4BitData        = kSelectorLarge4Bit | kSelectorSmall4Bit | kSelectorMini4Bit,
  269.     kSelectorAll8BitData        = kSelectorLarge8Bit | kSelectorSmall8Bit | kSelectorMini8Bit,
  270.     kSelectorAllAvailableData    = (long)0xFFFFFFFF
  271. };
  272.  
  273.  
  274. enum {
  275.                                                                 /* Obsolete. Use names defined above. */
  276.     svLarge1Bit                    = kSelectorLarge1Bit,
  277.     svLarge4Bit                    = kSelectorLarge4Bit,
  278.     svLarge8Bit                    = kSelectorLarge8Bit,
  279.     svSmall1Bit                    = kSelectorSmall1Bit,
  280.     svSmall4Bit                    = kSelectorSmall4Bit,
  281.     svSmall8Bit                    = kSelectorSmall8Bit,
  282.     svMini1Bit                    = kSelectorMini1Bit,
  283.     svMini4Bit                    = kSelectorMini4Bit,
  284.     svMini8Bit                    = kSelectorMini8Bit,
  285.     svAllLargeData                = kSelectorAllLargeData,
  286.     svAllSmallData                = kSelectorAllSmallData,
  287.     svAllMiniData                = kSelectorAllMiniData,
  288.     svAll1BitData                = kSelectorAll1BitData,
  289.     svAll4BitData                = kSelectorAll4BitData,
  290.     svAll8BitData                = kSelectorAll8BitData,
  291.     svAllAvailableData            = kSelectorAllAvailableData
  292. };
  293.  
  294. typedef UInt32                             IconSelectorValue;
  295. typedef CALLBACK_API( OSErr , IconActionProcPtr )(ResType theType, Handle *theIcon, void *yourDataPtr);
  296. typedef STACK_UPP_TYPE(IconActionProcPtr)                         IconActionUPP;
  297. enum { uppIconActionProcInfo = 0x00000FE0 };                     /* pascal 2_bytes Func(4_bytes, 4_bytes, 4_bytes) */
  298. #define NewIconActionProc(userRoutine)                             (IconActionUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppIconActionProcInfo, GetCurrentArchitecture())
  299. #define CallIconActionProc(userRoutine, theType, theIcon, yourDataPtr)  CALL_THREE_PARAMETER_UPP((userRoutine), uppIconActionProcInfo, (theType), (theIcon), (yourDataPtr))
  300. typedef IconActionProcPtr                 IconAction;
  301. typedef CALLBACK_API( Handle , IconGetterProcPtr )(ResType theType, void *yourDataPtr);
  302. typedef STACK_UPP_TYPE(IconGetterProcPtr)                         IconGetterUPP;
  303. enum { uppIconGetterProcInfo = 0x000003F0 };                     /* pascal 4_bytes Func(4_bytes, 4_bytes) */
  304. #define NewIconGetterProc(userRoutine)                             (IconGetterUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppIconGetterProcInfo, GetCurrentArchitecture())
  305. #define CallIconGetterProc(userRoutine, theType, yourDataPtr)     CALL_TWO_PARAMETER_UPP((userRoutine), uppIconGetterProcInfo, (theType), (yourDataPtr))
  306. typedef IconGetterProcPtr                 IconGetter;
  307. #if !OLDROUTINELOCATIONS
  308.  
  309. struct CIcon {
  310.     PixMap                             iconPMap;                    /*the icon's pixMap*/
  311.     BitMap                             iconMask;                    /*the icon's mask*/
  312.     BitMap                             iconBMap;                    /*the icon's bitMap*/
  313.     Handle                             iconData;                    /*the icon's data*/
  314.     SInt16                             iconMaskData[1];            /*icon's mask and BitMap data*/
  315. };
  316. typedef struct CIcon                    CIcon;
  317. typedef CIcon *                            CIconPtr;
  318. typedef CIconPtr *                        CIconHandle;
  319. EXTERN_API( CIconHandle )
  320. GetCIcon                        (SInt16                 iconID)                                ONEWORDINLINE(0xAA1E);
  321.  
  322. EXTERN_API( void )
  323. PlotCIcon                        (const Rect *            theRect,
  324.                                  CIconHandle             theIcon)                            ONEWORDINLINE(0xAA1F);
  325.  
  326. EXTERN_API( void )
  327. DisposeCIcon                    (CIconHandle             theIcon)                            ONEWORDINLINE(0xAA25);
  328.  
  329. #endif  /*  !OLDROUTINELOCATIONS */
  330.  
  331. EXTERN_API( Handle )
  332. GetIcon                            (SInt16                 iconID)                                ONEWORDINLINE(0xA9BB);
  333.  
  334. EXTERN_API( void )
  335. PlotIcon                        (const Rect *            theRect,
  336.                                  Handle                 theIcon)                            ONEWORDINLINE(0xA94B);
  337.  
  338.  
  339.  
  340. /*
  341.     Note:    IconSuiteRef and IconCacheRef should be an abstract types, 
  342.             but too much source code already relies on them being of type Handle.
  343. */
  344.  
  345. typedef Handle                             IconSuiteRef;
  346. typedef Handle                             IconCacheRef;
  347. EXTERN_API( OSErr )
  348. PlotIconID                        (const Rect *            theRect,
  349.                                  IconAlignmentType         align,
  350.                                  IconTransformType         transform,
  351.                                  SInt16                 theResID)                            THREEWORDINLINE(0x303C, 0x0500, 0xABC9);
  352.  
  353. EXTERN_API( OSErr )
  354. NewIconSuite                    (IconSuiteRef *            theIconSuite)                        THREEWORDINLINE(0x303C, 0x0207, 0xABC9);
  355.  
  356. EXTERN_API( OSErr )
  357. AddIconToSuite                    (Handle                 theIconData,
  358.                                  IconSuiteRef             theSuite,
  359.                                  ResType                 theType)                            THREEWORDINLINE(0x303C, 0x0608, 0xABC9);
  360.  
  361. EXTERN_API( OSErr )
  362. GetIconFromSuite                (Handle *                theIconData,
  363.                                  IconSuiteRef             theSuite,
  364.                                  ResType                 theType)                            THREEWORDINLINE(0x303C, 0x0609, 0xABC9);
  365.  
  366. EXTERN_API( OSErr )
  367. ForEachIconDo                    (IconSuiteRef             theSuite,
  368.                                  IconSelectorValue         selector,
  369.                                  IconActionUPP             action,
  370.                                  void *                    yourDataPtr)                        THREEWORDINLINE(0x303C, 0x080A, 0xABC9);
  371.  
  372. EXTERN_API( OSErr )
  373. GetIconSuite                    (IconSuiteRef *            theIconSuite,
  374.                                  SInt16                 theResID,
  375.                                  IconSelectorValue         selector)                            THREEWORDINLINE(0x303C, 0x0501, 0xABC9);
  376.  
  377. EXTERN_API( OSErr )
  378. DisposeIconSuite                (IconSuiteRef             theIconSuite,
  379.                                  Boolean                 disposeData)                        THREEWORDINLINE(0x303C, 0x0302, 0xABC9);
  380.  
  381. EXTERN_API( OSErr )
  382. PlotIconSuite                    (const Rect *            theRect,
  383.                                  IconAlignmentType         align,
  384.                                  IconTransformType         transform,
  385.                                  IconSuiteRef             theIconSuite)                        THREEWORDINLINE(0x303C, 0x0603, 0xABC9);
  386.  
  387. EXTERN_API( OSErr )
  388. MakeIconCache                    (IconCacheRef *            theCache,
  389.                                  IconGetterUPP             makeIcon,
  390.                                  void *                    yourDataPtr)                        THREEWORDINLINE(0x303C, 0x0604, 0xABC9);
  391.  
  392. EXTERN_API( OSErr )
  393. LoadIconCache                    (const Rect *            theRect,
  394.                                  IconAlignmentType         align,
  395.                                  IconTransformType         transform,
  396.                                  IconCacheRef             theIconCache)                        THREEWORDINLINE(0x303C, 0x0606, 0xABC9);
  397.  
  398. EXTERN_API( OSErr )
  399. PlotIconMethod                    (const Rect *            theRect,
  400.                                  IconAlignmentType         align,
  401.                                  IconTransformType         transform,
  402.                                  IconGetterUPP             theMethod,
  403.                                  void *                    yourDataPtr)                        THREEWORDINLINE(0x303C, 0x0805, 0xABC9);
  404.  
  405. EXTERN_API( OSErr )
  406. GetLabel                        (SInt16                 labelNumber,
  407.                                  RGBColor *                labelColor,
  408.                                  Str255                 labelString)                        THREEWORDINLINE(0x303C, 0x050B, 0xABC9);
  409.  
  410. EXTERN_API( Boolean )
  411. PtInIconID                        (Point                     testPt,
  412.                                  const Rect *            iconRect,
  413.                                  IconAlignmentType         align,
  414.                                  SInt16                 iconID)                                THREEWORDINLINE(0x303C, 0x060D, 0xABC9);
  415.  
  416. EXTERN_API( Boolean )
  417. PtInIconSuite                    (Point                     testPt,
  418.                                  const Rect *            iconRect,
  419.                                  IconAlignmentType         align,
  420.                                  IconSuiteRef             theIconSuite)                        THREEWORDINLINE(0x303C, 0x070E, 0xABC9);
  421.  
  422. EXTERN_API( Boolean )
  423. PtInIconMethod                    (Point                     testPt,
  424.                                  const Rect *            iconRect,
  425.                                  IconAlignmentType         align,
  426.                                  IconGetterUPP             theMethod,
  427.                                  void *                    yourDataPtr)                        THREEWORDINLINE(0x303C, 0x090F, 0xABC9);
  428.  
  429. EXTERN_API( Boolean )
  430. RectInIconID                    (const Rect *            testRect,
  431.                                  const Rect *            iconRect,
  432.                                  IconAlignmentType         align,
  433.                                  SInt16                 iconID)                                THREEWORDINLINE(0x303C, 0x0610, 0xABC9);
  434.  
  435. EXTERN_API( Boolean )
  436. RectInIconSuite                    (const Rect *            testRect,
  437.                                  const Rect *            iconRect,
  438.                                  IconAlignmentType         align,
  439.                                  IconSuiteRef             theIconSuite)                        THREEWORDINLINE(0x303C, 0x0711, 0xABC9);
  440.  
  441. EXTERN_API( Boolean )
  442. RectInIconMethod                (const Rect *            testRect,
  443.                                  const Rect *            iconRect,
  444.                                  IconAlignmentType         align,
  445.                                  IconGetterUPP             theMethod,
  446.                                  void *                    yourDataPtr)                        THREEWORDINLINE(0x303C, 0x0912, 0xABC9);
  447.  
  448. EXTERN_API( OSErr )
  449. IconIDToRgn                        (RgnHandle                 theRgn,
  450.                                  const Rect *            iconRect,
  451.                                  IconAlignmentType         align,
  452.                                  SInt16                 iconID)                                THREEWORDINLINE(0x303C, 0x0613, 0xABC9);
  453.  
  454. EXTERN_API( OSErr )
  455. IconSuiteToRgn                    (RgnHandle                 theRgn,
  456.                                  const Rect *            iconRect,
  457.                                  IconAlignmentType         align,
  458.                                  IconSuiteRef             theIconSuite)                        THREEWORDINLINE(0x303C, 0x0714, 0xABC9);
  459.  
  460. EXTERN_API( OSErr )
  461. IconMethodToRgn                    (RgnHandle                 theRgn,
  462.                                  const Rect *            iconRect,
  463.                                  IconAlignmentType         align,
  464.                                  IconGetterUPP             theMethod,
  465.                                  void *                    yourDataPtr)                        THREEWORDINLINE(0x303C, 0x0915, 0xABC9);
  466.  
  467. EXTERN_API( OSErr )
  468. SetSuiteLabel                    (IconSuiteRef             theSuite,
  469.                                  SInt16                 theLabel)                            THREEWORDINLINE(0x303C, 0x0316, 0xABC9);
  470.  
  471. EXTERN_API( SInt16 )
  472. GetSuiteLabel                    (IconSuiteRef             theSuite)                            THREEWORDINLINE(0x303C, 0x0217, 0xABC9);
  473.  
  474. EXTERN_API( OSErr )
  475. GetIconCacheData                (IconCacheRef             theCache,
  476.                                  void **                theData)                            THREEWORDINLINE(0x303C, 0x0419, 0xABC9);
  477.  
  478. EXTERN_API( OSErr )
  479. SetIconCacheData                (IconCacheRef             theCache,
  480.                                  void *                    theData)                            THREEWORDINLINE(0x303C, 0x041A, 0xABC9);
  481.  
  482. EXTERN_API( OSErr )
  483. GetIconCacheProc                (IconCacheRef             theCache,
  484.                                  IconGetterUPP *        theProc)                            THREEWORDINLINE(0x303C, 0x041B, 0xABC9);
  485.  
  486. EXTERN_API( OSErr )
  487. SetIconCacheProc                (IconCacheRef             theCache,
  488.                                  IconGetterUPP             theProc)                            THREEWORDINLINE(0x303C, 0x041C, 0xABC9);
  489.  
  490. EXTERN_API( OSErr )
  491. PlotIconHandle                    (const Rect *            theRect,
  492.                                  IconAlignmentType         align,
  493.                                  IconTransformType         transform,
  494.                                  Handle                 theIcon)                            THREEWORDINLINE(0x303C, 0x061D, 0xABC9);
  495.  
  496. EXTERN_API( OSErr )
  497. PlotSICNHandle                    (const Rect *            theRect,
  498.                                  IconAlignmentType         align,
  499.                                  IconTransformType         transform,
  500.                                  Handle                 theSICN)                            THREEWORDINLINE(0x303C, 0x061E, 0xABC9);
  501.  
  502. EXTERN_API( OSErr )
  503. PlotCIconHandle                    (const Rect *            theRect,
  504.                                  IconAlignmentType         align,
  505.                                  IconTransformType         transform,
  506.                                  CIconHandle             theCIcon)                            THREEWORDINLINE(0x303C, 0x061F, 0xABC9);
  507.  
  508.  
  509.  
  510.  
  511.  
  512.  
  513.  
  514.  
  515.  
  516.  
  517.  
  518.  
  519.  
  520. #if PRAGMA_STRUCT_ALIGN
  521.     #pragma options align=reset
  522. #elif PRAGMA_STRUCT_PACKPUSH
  523.     #pragma pack(pop)
  524. #elif PRAGMA_STRUCT_PACK
  525.     #pragma pack()
  526. #endif
  527.  
  528. #ifdef PRAGMA_IMPORT_OFF
  529. #pragma import off
  530. #elif PRAGMA_IMPORT
  531. #pragma import reset
  532. #endif
  533.  
  534. #ifdef __cplusplus
  535. }
  536. #endif
  537.  
  538. #endif /* __ICONS__ */
  539.  
  540.